#include <iostream>
#include "priority_queue.h"
using namespace std;


int main()
{
	bit::priority_queue<int> a;
	a.push(4);
	a.push(6);
	a.push(9);
	a.push(1);
	a.push(3);

	bit::priority_queue<int,vector<int>,greater<int>> c;
	c.push(4);
	c.push(6);
	c.push(9);
	c.push(1);
	c.push(3);

	vector<int> arr = { 4,6,9,1,3 ,3,6,5,7,8 };
	bit::priority_queue<int, vector<int>, greater<int>> b(arr.begin(), arr.end());

	cout << a.size() << " " << c.size() << " " << b.size() << endl;
	while (!a.empty())
	{
		cout << a.top() << " ";
		a.pop();
	}
	cout << endl;
	while (!c.empty())
	{
		cout << c.top() << " ";
		c.pop();
	}
	cout << endl;
	while (!b.empty())
	{
		cout << b.top() << " ";
		b.pop();
	}
	return 0;
}